package com.fdd.op.sdk.model.dto;

import com.fdd.op.sdk.internal.mapping.RequestField;

import java.util.List;

/**
 * API签署方信息
 *
 * @author zhouzy
 * @date 2021/04/26
 */
public class PushSignInfoDTO {

    @RequestField(value = "签署人在当前系统的唯一识别标识，签署人在当前系统的唯一识别标识、在第三方业务系统的唯一标识不允许同时传入，只允许且必须传一个")
    private  String signerAccountId;

    @RequestField(value = "签署人在第三方业务系统的唯一标识，签署人在当前系统的唯一识别标识、在第三方业务系统的唯一标识不允许同时传入，只允许且必须传一个")
    private  String tpSignerAccountId;

    @RequestField(value = "签署人姓名")
    private String signerName ;

    @RequestField(value = "签署人手机号")
    private String mobile ;

    @RequestField(value = "手机号区号，非必传，默认+86，传参时需带“+”号")
    private String areaCode;

    @RequestField(value = "签署人邮箱")
    private String email ;

    @RequestField(value = "代表企业签时，企业在当前系统的唯一识别标识")
    private  String companyId;

    @RequestField(value = "代表企业签时，填写未注册的企业名称")
    private String companyName;

    @RequestField(value = "代表企业签时，企业在第三方业务系统的唯一标识")
    private  String tpOrgId;

    @RequestField(value = "签署优先级，签署优先级相同，表示为无序签，签署优先级不同表示顺序签。顺序签时，数值越大表示优先级越低。禁止在当前待签署节点及其之前签署节点插入待签署流程")
    private Integer priority;

    @RequestField(value = "代表企业签署时，签署要求：1：企业盖章（默认）；2：企业盖章+个人签名")
    private Integer signDemand = 1;

    @RequestField(value = "是否指定签署位置,0：否（默认）；1：是")
    private Integer isPosition = 0;

    @RequestField
    private String verifyMode = "0";

    @RequestField(value = "签署回调流水号，用于识别具体哪一次签署")
    private String notifyNo;

    @RequestField(value = "文件签署信息列表")
    private List<DocSignInfoDTO> docSignInfoDTO;

    @RequestField
    private Integer personSealType;

    public String getSignerAccountId() {
        return signerAccountId;
    }

    public void setSignerAccountId(String signerAccountId) {
        this.signerAccountId = signerAccountId;
    }

    public String getTpSignerAccountId() {
        return tpSignerAccountId;
    }

    public void setTpSignerAccountId(String tpSignerAccountId) {
        this.tpSignerAccountId = tpSignerAccountId;
    }

    public String getSignerName() {
        return signerName;
    }

    public void setSignerName(String signerName) {
        this.signerName = signerName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getTpOrgId() {
        return tpOrgId;
    }

    public void setTpOrgId(String tpOrgId) {
        this.tpOrgId = tpOrgId;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public Integer getSignDemand() {
        return signDemand;
    }

    public void setSignDemand(Integer signDemand) {
        this.signDemand = signDemand;
    }

    public String getVerifyMode() {
        return verifyMode;
    }

    public void setVerifyMode(String verifyMode) {
        this.verifyMode = verifyMode;
    }

    public String getNotifyNo() {
        return notifyNo;
    }

    public void setNotifyNo(String notifyNo) {
        this.notifyNo = notifyNo;
    }

    public List<DocSignInfoDTO> getDocSignInfoDTO() {
        return docSignInfoDTO;
    }

    public void setDocSignInfoDTO(List<DocSignInfoDTO> docSignInfoDTO) {
        this.docSignInfoDTO = docSignInfoDTO;
    }

    public Integer getPersonSealType() {
        return personSealType;
    }

    public void setPersonSealType(Integer personSealType) {
        this.personSealType = personSealType;
    }

    public Integer getIsPosition() {
        return isPosition;
    }

    public void setIsPosition(Integer isPosition) {
        this.isPosition = isPosition;
    }
}
